home *** CD-ROM | disk | FTP | other *** search
- Henry - Amiga IRC Bot
-
- Short tutorial for beta versions
-
- By
- Rune Jacobsen
-
- Contents
-
- 1. Introduction
- 2. Installation
- 3. Configuration
- 4. Running
-
- ================================================================================
- Introduction
- ================================================================================
-
- Ok, so this is not really a tutorial. But it explains stuff, so read it anyway.
-
- ================================================================================
- Installation
- ================================================================================
-
- There is a simple installation script provided with the beta distribution of
- Henry. Double click on the "Install" icon to copy the unpacked directory to
- somewhere. The installer script will create a "Henry"-directory in the place you
- choose to install it in.
-
- If this is the first time you install Henry, copy the files General, Commands,
- Levels and Users from Henry/Config/Examples/ to Henry/Config/, and see the section
- on configuration to customize it to your liking.
-
- ================================================================================
- Configuration
- ================================================================================
-
- One important thing to notice is that any line in any config file starting with
- a '#' is treated as a comment and skipped by Henry. Keep that in mind, and edit
- them files with any ASCII editor. As this is a relatively early beta of Henry,
- be warned that the config reader isn't VERY robust and mangled config files will
- give unexpected results.
-
- 1. Config/General
-
- This file contains the general options for the Henry bot. Here is a quick
- rundown - take a look at the sample General file in Config/Examples/ to understand
- what the fields are referring to:
-
- Servers
- This is a list of servers to try to connect to, in order, with an optional
- port number afterwards. If no port number is set, Henry will use the
- default IRC port 6667.
- Nicks
- This is the list of nicknames the bot will try, in order.
- UserName
- The user name Henry sends to the server. Should normally be the user name
- you have with your ISP (the part before the '@' in your email address).
- RealName
- The text that will be shown to users when they do a /whois on the bot.
- FindServer
- The ADT server to connect to for searching Aminet. find.germany.aminet.org
- is a nice default one, as is ftp.wustl.edu when it is up.
- Channel
- The IRC channel the bot should join.
- Signoff
- The quit message the bot signs off with.
- CommandChar
- If the first character in a public message is this character, the rest
- of the line will be taken to be a command to the bot.
- PublicLogLineLength
- The max. length of a line in the log.
- Debug
- If set to On, will save lots of debug info in Logs/Debug.log.
- ShowPublic
- Will send all public messages to STDOUT.
- PublicLog
- Will log all public message to Logs/YYMMDD_#Channel.log
- PublicLogon
- Will show the logon procedure in the public log. No real effect yet.
-
- 2. Config/Users
-
- This file is Henry's user database. There is no other limit to the amount of
- users than the amount of memory availible. The fields in this file represent:
-
- Entry
- The entry name. Should normally be the same as the persons nickname. This
- is used if you do a SEEN (to see when the user was still on) or a ADDMSG (to
- send a message to someone).
- Access
- This users access level on the bot. Is used to determine what commands the
- user can execute and stuff. Can be from 0 to 255.
- File
- File access. Not yet used.
- Seen
- This is the last time the user was seen online by the bot. The number should
- not really be edited manually.
- News
- The last time this user read news on the bot. This is used to determine
- wether or not there are new ones for him/her to read.
- Greet
- The autogreet this user will recieve when joining the channel. If you don't
- put anything here, the bot won't say a thing.
- Mask
- The host mask the user will be on. '*' is acceptable as a wildcard. For
- instance, as my username at work is rune and I would log on from one of
- Euroline's (my job) machines, a good host mask would be
- *!*rune@*euroline.no - This would match any nickname I would use, wether
- or not I am authenticated with identd, and would work on any computer
- in the euroline.no network. You can have as many mask lines as you want,
- useful for people with several accounts etc.
-
- 3. Config/Levels
-
- Really simple file, this. Just some default levels.
-
- AutoOp
- The access level someone needs to be automatically given channel operator
- status when they join. This will of course only happen if the bot is a
- chanop himself.
- DefaultLevel
- The default level someone has when their host mask does not match anything
- found in the user database.
- DefaultFileLevel
- Same as above, but for file access. No effect yet.
- AutoRoulette
- This has no effect yet, but those interested can guess what it is for.
-
- 4. Config/Commands
-
- This defines the commands your bot users will be able to perform. This means
- that every command in your bot is totally configurable, nothing is preset, and
- everything has a reasonably cool level of custimization.
-
- The attributes a command can have:
-
- Command
- This is the command name, what the users will have to type to execute the
- command.
- CommandString
- This depends on the type of command. For internal commands, this is the
- name of it. For ARexx scripts, this is the path/filename of the script. To
- see what internal commands are availible, you have to check out the sample
- Config/Examples/Commands file - it has them all in there somewhere.
- InfoString
- When someone requests help on a command (using the INFO internal command),
- this is the description message they get.
- SyntaxString
- The syntax of the command, displayed by the INFO internal command.
- Type
- 1 for internal command, 2 for ARexx command. Other command types are
- currently not supported.
- Access
- The access level someone needs to execute this command. For instance,
- the internal QUIT command should only be availible to people with
- sufficient access to shut down the bot.
- PublicAccess
- Some Henry commands return results, and if this is the case, this is
- used to determine if the result of the command should be public. If a
- user has a HIGHER level than PublicAccess for this command, the result
- will be displayed in public.
- LogIllegal
- TRUE or FALSE - should illegal attempts to execute this command be logged
- in Logs/System.log ?
- DataBaseName
- Some commands are used for displaying, deleting or adding database items.
- Since Henry supports unlimited number of databases, this field tells him
- which of the databases this is related to. For instance, in the sample
- Config/Examples/Commands file, both the "URL" and the "FAQ" commands
- use the internal FINDDBITEM command, but they point to different
- databases. The databases are defined in the Config/Databases file,
- explained later in this section.
-
- 5. Config/Messages
-
- This file just keeps the messages for the different users. It should not be
- edited manually, and probably not read by evil bot operators ;). Should be
- encrypted or something in the future.
-
- 6. Config/Databases
-
- Again, a very simple file, with a very simple format. On each line, one
- database, a colon, a space, and the name of the database file. For instance:
- FAQ: FAQ.hdb
- Would mean a database called FAQ is located in FAQ.hdb. You can have as many
- databases as you want.
-
- The format of the database files (*.hdb) is also simple. One item on one line,
- in this format:
- Name: Item text.
- The item text can be as long as you want. For instance, an item in a FAQ
- database could be like this:
- Henry: Amiga IRC Bot by Rune 'Shitlips' Jacobsen
- This item would then be displayed when someone gave the command "FAQ Henry" to
- the bot, provided that FAQ is the internal command FINDDBITEM, pointing to the
- FAQ database.
-
- 7. Config/NewsDB
-
- Another file you shouldn't mess with manually. It keeps all the unexpired news
- items.
-
- ================================================================================
- Running
- ================================================================================
-
- Start Henry from a shell or the Workbench. After a little bit it should either
- pop up on the IRC channel you've configured, or complain that something is
- wrong.
-
-